/*
 * MagData.cpp
 *
 *  Created on: Feb 28, 2013
 *      Author: Kurt Hardin
 */

#include "MagData.h"

MagData::MagData()
{
	MagData(0,0,0);
}

MagData::MagData(int16 x, int16 y, int16 z) 
{
	setMagData(x, y, z);
}

void MagData::setMagData(int16 x, int16 y, int16 z)
{
	setX(x);
	setY(y);
	setZ(z);
}

void MagData::setX(int16 x)
{
	m_x = x;
}

void MagData::setXMSB(uint8 x_msb)
{
	m_x &= 0x00FF;
	m_x |= (x_msb << 8);
}

void MagData::setXLSB(uint8 x_lsb)
{
	m_x &= 0xFF00;
	m_x |= x_lsb;
}

void MagData::setY(int16 y)
{
	m_y = y;
}

void MagData::setYMSB(uint8 y_msb)
{
	m_y &= 0x00FF;
	m_y |= (y_msb << 8);
}

void MagData::setYLSB(uint8 y_lsb)
{
	m_y &= 0xFF00;
	m_y |= y_lsb;
}

void MagData::setZ(int16 z)
{
	m_z = z;
}

void MagData::setZMSB(uint8 z_msb)
{
	m_z &= 0x00FF;
	m_z |= (z_msb << 8);
}

void MagData::setZLSB(uint8 z_lsb)
{
	m_z &= 0xFF00;
	m_z |= z_lsb;
}
